using Services.Activity.Domain.Entities;

namespace Services.Activity.Domain;
public interface IActivityRepository
{
    Task<bool> ActivityAddVolunteerAsync(long activityId, long volunteerId);
    Task<ActivityVolunteer> GetActivityVolunteerAsync(long activityId, long volunteerId);
    Task<bool> SignInVolunteerAsync(ActivityVolunteer activityVolunteer);
    Task<VoluntaryActivity> AddAsync(VoluntaryActivity voluntaryActivity);
    Task<List<VoluntaryActivity>> GetActivitiesDetailAsync(List<long> id);
    Task<List<VoluntaryActivity>> GetOrganizerActivityAsync(long userId);
    Task<List<VoluntaryActivity>> GetVolunteerActivityListAsync(long userId);
    Task<List<long>> FilterActivityAsync(List<Func<VoluntaryActivity, bool>> filter);
}